import request from '@/config/axios'

/** 部门协同-任务分类信息 */
export interface ProjectTemplateType {
  id: number; // ID
  templateId?: number; // 模板id
  typeName?: string; // 任务分类名称
  executeUser: string; // 执行者
  responsible: string; // 超时通知责任人
  sort?: number; // 排序
  remark: string; // 备注
}

/** 部门协同-项目模板信息 */
export interface ProjectTemplate {
  id: number; // ID
  templateName?: string; // 模板名称
  templateImg: string; // 模板图片
  remark: string; // 备注
  projecttemplatetypes?: ProjectTemplateType[]
}

// 部门协同-项目模板 API
export const ProjectTemplateApi = {
  // 查询部门协同-项目模板分页
  getProjectTemplatePage: async (params: any) => {
    return await request.get({url: `/synergy/project-template/page`, params})
  },

  // 查询部门协同-项目模板详情
  getProjectTemplate: async (id: number) => {
    return await request.get({url: `/synergy/project-template/get?id=` + id})
  },

  // 新增部门协同-项目模板
  createProjectTemplate: async (data: ProjectTemplate) => {
    return await request.post({url: `/synergy/project-template/create`, data})
  },

  // 修改部门协同-项目模板
  updateProjectTemplate: async (data: ProjectTemplate) => {
    return await request.put({url: `/synergy/project-template/update`, data})
  },

  // 删除部门协同-项目模板
  deleteProjectTemplate: async (id: number) => {
    return await request.delete({url: `/synergy/project-template/delete?id=` + id})
  },

  /** 批量删除部门协同-项目模板 */
  deleteProjectTemplateList: async (ids: number[]) => {
    return await request.delete({url: `/synergy/project-template/delete-list?ids=${ids.join(',')}`})
  },

  // 导出部门协同-项目模板 Excel
  exportProjectTemplate: async (params) => {
    return await request.download({url: `/synergy/project-template/export-excel`, params})
  },

// ==================== 子表（部门协同-任务分类） ====================

  // 获得部门协同-任务分类列表
  getProjectTemplateTypeListByTemplateId: async (templateId) => {
    return await request.get({url: `/synergy/project-template/project-template-type/list-by-template-id?templateId=` + templateId})
  }
}
